@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}}e! |||||DOS DOSDOS SYS }}}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1 3u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8}12pDSDATHEXLINDATLIDDBYTPASCHKSUTOTAIN@,} *** TWOGUN ***I @ 1(MAKE CASSETTE (0), OR DISK (1)5I-}!@@ C BC0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,15(r;@,9@",/-.}@"3"<68,-@ L6-A V#A` A r( CHECKING DATA286-%@(LINE:!"8B:,@A/} <F%6-F:A,%F:A,$AV+C(LINE  MISSING!FFq-@@@56-@:7<,,&@H0}[6-@:7%@<%@,,&@Hq6-8,$@%8,P."@*@ $". @PZ% 6-%!1}A %6-&Ad  ""@Pn A x F:A,@A "Ap(A2}`*@A$)*@@<*@A%O*@@b*@u*@@23}@<-@@**@. 9@<(Ag+("INSERT DISK WITH DOS, PRESS RE4}TURN8;@,<g@@ D:AUTORUN.SYS*@AU)*@AU<*@5}O*@@2b*@AFu*@@@ A{((READY CASSETTE AND PRESS RETURNH@@6}A(C:R#A0f-@@@j"w*@{ M(( WRITING FILE#6-@/6-A 9#AC 7}A M @P(BAD DATA: LINE ``0,19,216,31,255,31,169,0,141,47,2,169,60,141,2,211,169,0,141,231,2,133,14,8}169,56,141,232,2--133,15,169,0,133,10,169,32,133,11,24,96dd2065E420E92220DE22A9D38D3002A9288D3102A92E8D2F02A9388D07D49}A9038D1DD0A9008D0CD0A9188D6F02A9,606dd008D08D2A9068DC602A9AA8DC702A200BD00E09D0030BD00E19D0031E8D0F1A9308DF402A248BDCB279:}D0830CA,927cc10F7A900A27F9580CA10FBA2079D00D0CA10FAA9008583A223A000A906205CE4A212BD8C26BC9F26990038CA10,72ddF4A20FA05;}8BD832899003A8899003A88CA10F2A207A058BDD32799803A99813A99823A99833ABDDB2799003B99,285dd013B99023B99033B88888888CA10DBA903<}8D08D08D09D08D0AD0A9368DC002A9C28DC102A9068DC202A9788D00,200ddD0A9A88D01D0A9488D02D0A94A8D2327A9018D6D27A9018589A220ADC40=}248ADC5028DC402688DC502A9108585,287$ddA585D0FCCAD0E720E922A9078581A9008583A2079D00D2CA10FAAD0AD20901858EA9008D08D08D09D085>}908594,980.dd8D1527858B858A85918592A9028D00D2A9AA8D03D2A9FF858685878588A213BD78269DDC38CA10F7A681A51409,6398dd079DC002E?}002B00729F0090A9DC402AD1FD02901D0E720E92220DE22AD1FD02901F0F9A9F28DC802A9BA8DC702,935BddA201A91A9DC002BDC72709049DC402BDC9@}2795AA95AEA93095AC95B0A90095A4959A95A295BE95A695A8A90395,761Ldd9CCA10D18D1ED0A9018583A9008584858AA580F0FCA584F0034C1C21A90A}08580A201B5AC18691E9596BDC72709,164Vbb069598A590F012B5A4F004A9049598B59CC902B004A9CA9598CA10D9A201AD0BD48D0AD4D596D00748B5B}989D12,8`ddD068CA10F2C97090E6A201BD04D03DC02648D5A0F0129010B59AD00CB5A2D008A92D95A4A91085886895A0BD04,886jddD02908F022AC}9108588A482BDB8269914388D1ED0AD0AD22903090118759C959CAD0AD20940858EA58ED00EAD0A,686tddD2D02EA482A900991438F0E7C68ED02120B0D}22F011293FC902F00BC982F0F1A900991438F0EA8482A9C1991438,488~ccA9108588CA30034C27224CD321AD0AD2C9C8B0F9A8B91438600A0A858D0A0E}A18658D601875B84A4A4A20BC2285,18dd8DB5B61869014A4A4A18658DA860A2F0A9009DFF37CAD0FA60A27FA9009D80399D003A9D803A9D003B9D803F}BCA,318dd10EE60A9018580C685A589F03CCE6D27AD6D27D01AEE2327AD2327C94A9005A9018D2327AABD6D278D6D27A90A,284dd858CAE2327BDG}23278D06D2A5852901D00BC68CA58C300509A08D07D2A583D0034C7526C6911033A91F8591A592,144dd49108592A59049018590AD0AD20906CDC702FH}0F68DC702A5861012A5A425A5D00CA690BDE6268D00D2A908858B,465ddA58BF00FC68BA58610F6A58B09808D01D2300BA5863007C686290F8D01D2A5I}873010C687A687BDF4268D03D2BD,880ccE8268D02D2A5883010C688A6888A09408D05D2BDFD268D04D2AC1527D00AA58A1022A9018589D02BA900858J}9CE,45dd1C271013B91C278D1C27B915278D06D2A910858ACE1527A5852901D009C68AA58A09A08D07D2A201B59AF012A9,579dd019D08D0D69ADK}009A94095A2A9009D08D0B5A2F002D6A2B5A4F008D6A4D004A92095A2BCBC26A905858FB59C95,630dd9EB59EC904B00C186984990038A900959EF00CL}A988990038B59E38E904959EC8C68FD0DDBD0CD03DC026F00BB5,273ddAE95AAB5B095AC4C7724B5AA95AEB5AC95B0BC7802B9C62695B21875AAC998BM}00C858DB5A815A4D004A58D95AA,582ddB9D62695B41875ACC940B00C858DB5A815A4D004A58D95ACB5A8F042BD8402F03DB5B215B4D006854D95A8F0N}31,630ddB59CF0F6B59A15A4D027D69CA90195A6A90095A8A9188586B5AA18690395B6B5AC95B8B5B20A0A95BAB5B40A95,755ddBC4CFD24BD840O}2D008B5A6D004A90195A8BD08D03DC026F06BA90095A6A90F20C622A989990038BCBE26B99A00,138 ddF006A9A095A4D04FA9008D1C27A9068D1527A9P}B0999A00A9A899A400F8B5BE186901D895BE48BCBA26290F1DB6,427dd26990038684A4A4A4A1DB62699FF37290FC90190158681BCBE26A90099C002AQ}9008583A90185844C6726B5AA18,864dd69309D00D08A48BDB2268595BDB4268594A9B08593B5A4D01BA5928593B5A8F013BD7802C90FF00CB59CF008R}BC,923(dd7802B9B7278593B5AC186928A8B59AF004A9A08593A59318690FAABD1328919488CAE49310F568AAB5A6D017B5,7842ddB818691FA8B98S}0393DC426998039A9009D04D04C6126BD00D03DC026F011A90720C622A983991438A91085884C,492<dd5B26BD00D02904F01DA90A8587AD0AD2290FA8T}B9C62619D626F0F2B9C6260A95BAB9D62695BCB5B61875BAC99E,165FddB03295B61869309D04D0B5B818691FA8B980393DC426998039B5B81875BCC95U}0B01295B818691FA8B980391DC2,387Pdd269980394C6126A90095A695A8CA30034C06248D1ED0AD1FD02901D004A90185844CD1E7B0B2A5B3B300F3F4V}E1,731ZddF2F400B4AF00A2A5A7A9AE34772F67356E6279636F6E7261647461746765293D5165798D3F4042434445464749,433ddd4A4B4C4D3A3A0W}080105002420113020D01000201030CFCF3000000000001010100FFFFFF000000000000000000,460ndd01FF000001FF000001FF000A102818100C0A09X}080A0F161040ACADAEAFADAAA6A2A00A0B0A090B0A0807090C0D,135xdd0A0605080A0F100F0A06070A0A0051607960797900400810400810006C6C514Y}8405155603C3C3C3C3C35515151,366dd5551486C6C5148405155603C3C3C3C3C40485155514851353C40484048515151515551486C6C514840515560Z}3C,837dd3C3C3C3C4048515551485100101010102008081808102008081808101010104010101010200808180810200808,189dd1808101808104[}03018081030101808101010104010101010200808180810200808180810101010800000000000,101dd2030400050607000809000703010880041CF7F\}F0F8E000181B1BDBDFD8F8180000307C72FEFF1F000000FF00FF,572dd0000008080FF80FF800000A0A0FFA0FFA00000A8A8FFA8FFA80000AAAAFFAAF]}FAA0000183C18183C7E7E00287C,724dd547C387CBABABA792828680C0000143E2A3E1C3E5D5D5D9E141416300004147C68743878BCBAB9782828282C^}60,293dd04147C69763C78B8B8B8782828282C6004147C6874387FB8B8B8782828282C6020283E162E1C1E3D5D9D1E1414,900dd14340620283E9_}66E3C1E1D1D1D1E141414340620283E162E1CFE1D1D1D1E141414340604147C6874387EBABABA,524dd7A2828282C6020287E566E5C7E1D1D1D1E1414`}14340600000000000000000000103BBBFF000000143E2A3E1C3E,546dd5D5D5D5D1414143600707070470038070707070707070707070741D32800000a}000000000000000000000000000,888 D:TWOGUN.BASSUTOTAIN@4z{{SOBDIPREPPPLBALLSTOSTACKCHATIMLIMICLEAHIWINNEMESRANDOCOPYCLEARVBSETRAMTOPMBASCHBASPc}PVBONOFBA d @ d d}QB7pp## A`ARAVBHBe}AUA6 ""****************************""* CASCADE by F. Neil Simms *""* ANALOG COMPUTING *(""f}****************************d AP A!6-%@$+"6@,!$ F:A@,A$g} ,$ ,6-6-$,/-@$@#,(@8, /$"A@7!-@&h}@@77<,0>:,A0'!7%@<%@,4>:,$''$ >6-%@67<,.>:,-6-%@i};67<,.>:,>$@%+"@,,_ -@6@<2A@NA@@j}X A\ _$ 6-(6-"6-@.6-@ 46-J6-@%@$P6-i6-@%@!$+(k},6-@&@$6-@26-%-@$@#%(@;A@@ A1ABl}@`; A$' (S:,@w' A.rF:AB,"*AB@`86-&@L-@m}$@#^(@ r"A8,6-A(&Q:,  @H,6-@HB!A6-AL6-n}P:'@,&@V"A``{)2@0%%@@3@29,?6-IA4O,q2o}{ A`X68,-8,&@! A5-@$@#F(@ XB2xp}aA@@;2A%%@@a2@AP%%@@ 6-%Q A/2q}Q2@7 "@2,-6-F:B2T%+(,,7 A ' 1r} AP'B2x3"@2A4# A`)6-3 A0$$(+"Aa)"Ab,A7 6s}--&Aa! AP-Ai%7 A`/%-&$+"Aa,%$+"Ab,/ A`3@Af,t}) A3 A !!@3*@4A %%2@ @@k6-@3%+"@3,)6-&u}@33 AP?@A%I A`k6-&$+"@3,%$+"@4,/%2/ A`(#v}"Ae A0# A 2 A7# A46-Af# A`<; 6-%1;"@3)"@4)"Aw}fA`FK"@2A4,56-Af&A4$A6-K A`P-"Ae AP# A0- x}A ZS AP6-&@% AP1A7%I6-@%+"@,S A`d/%6-&$+"@,%$+"@y},/ A`A(A$8,"$6-@&8@,"&6-%@z}A% A@W6-@:7<,,6-&@-6-@:7<,,;6-&@A6-G6-Q@2W,r%6-{}6-@% A@ @A!-@=2$@%@@@TP:'@|},%A4Z,^ 2 AP!68,-8,%@! A A4 @2,}}>l -@6@F2$@%@@@J l2H/ 6-(6~}8,-8,%@( A/6-(\ A ; @167@)<@),.>:@H%,; A%0 **67@!<@5},.&&&&  -@@a)-@D(@7<%@,VA@@x2@}@@ A2A@@ 3 A%S:,*S:@,) 3 A}%0 ' AT A 6- AP -A4A6!,O2+A9&,$@@@}@aA@@k Ao 2  Ae,$_ Aa,@}1,@@!;AbM,@@_,@!$-@@$6-6@=)6-%P:F:,$@}'AV,%@=!@A@<<P:F:,$@'AV,%@%@0$+F:, A, , A@@# }#-@@@!6-%P:F:,$@'AV,+AeO,@%P:F:,$@'AV,c-&@@}(@ >:@, @<-&@@5(@ >:@, 9 <$GG;A,9@,;@}5,;@,;@,;@,&6-F:A,&A&@E6-&@6-&@76-+%@,$}AVE6-%AV+@%@ A`+-@@"'67,.>:,+ ++104,104,133,213,104,133,}212,169,0,168145,212,200,208,251,96+-@@5"'67,.>:,+ --104,104,133,213,104,133,212,133,214},169))224,133,215,169,4,133,216,160,0,177--214,145,212,200,208,249,230,215,230,213198,216,208,241,96%-A}6As"!% $$0,216,173,0,6,240,28,162,1,169''232,56,253,112,2,201,52,176,4,169((52,208,6,201,196,1}44,2,169,195,157 2,208,202,16,230,76,98,228+-@@"'67,.>:,+ ((104,162,6,160,1,169,7,32,92,}228,96&6-?:C:,,&Initiate VBI routine6-A66-B7p(6-?:C:,<$AV,2AV<9+-$AV}%@$AV%A/"59 A0,6,14,28,56,112,96,0F0,96,112,56,28,14,6,0K%%255,135,143,157,185,24}1,225,255P%%255,225,241,185,157,143,135,255U%%255,129,189,165,165,189,129,255Z0,24,60,66,126,66,60,24_0,0,24,}36,60,36,24,0d0,0,0,0,24,24,0,0n28,46,110,124,56,112,96,0x56,116,118,62,28,14,6,00,6,14,28,62,118,116,56}0,96,112,56,124,110,46,28'-B2HB2Q#' 9AY@X'A@9AAP}5-AV!6-?:C:,<,% 5clear 2 pages!BBy!B2w@?-@"+%@Q}&;%A%? 195,231,189,153,255,255##S:,*S:@,ASg0@@70@}@@Q0@@@g(@>:A%,"P-@)(@-;-@@#}P(@-,968,-@ -68@,-@ 96-6/6- A%6-@/ A}@j 6. 67@,.)67@,.j67@!<@a,.)& & Ϡ٠J A@}@|$p(@>:A%,30M0@@@g0@y-@}@ (@CaScAdEz-@@%(@by7-@@R(@ Ʈ̠d-}@(@press FIRE to begin)-@)A@@))2$@%@P@}50@+0@@5 A) )2$ D:CASCADE.BASHBASPw10 ;USR FUNCTION TO CLEAR20 ; 256 BYTES OF RAM30 ;40 ;X=USR(routine_addr,page_addr)50 ;60 ;WHERE page_addr IS THE ADD }RESS70 ; OF THE AREA TO BE CLEARED.80 ;90 ;Zero page vector0100 ;0105 *= $D40107 ;0110 VECTOR *= *+20120 ;0140 } *= $0600 ;relocatable0150 PLA ;ignire count0160 PLA ;get hi vector0170 STA VECTOR+1 ;pu }t in vector0180 PLA ;lo byte too0190 STA VECTOR0200 LDA #00210 TAY 0212 ;0214 ;Clear one page0 }216 ;0220 CLRLP0230 STA (VECTOR),Y0240 INY 0250 BNE CLRLP0255 ;0260 RTS ;back to BASIC THE ADD u0100 ;0110 ;BASIC USR routine to copy0120 ; ROM character set to0130 ; "base_address" in RAM.0140 ; Code is relocatable, }to be0150 ; placed in a BASIC string.0160 ;0170 ;Call via:0180 ;0190 ;X=USR(routine_address,base_address)0200 ;0210 ;Z}ero page vectors0220 ;0230 *= $D40240 ;0250 NEWBAS *= *+20260 OLDBAS *= *+20270 ;0280 ;Zero page var's0290 ;030}0 PAGES *= *+10310 ;0320 ;Equates0330 ;0340 ROMSET = $E0 ;1st page of ROM set0350 ;0360 ;Start of routine0370 ;038}0 START0390 PLA ;ignore count0400 PLA 0410 STA NEWBAS+1 ;hi byte of new base0420 PLA 0430 ST}A NEWBAS ;and lo byte0440 STA OLDBAS ;A must equal zero,0450 ; use to clear OLDBAS (lo)0460 ;0470 } LDA #ROMSET ;hi byte of ROM set addr.0480 STA OLDBAS+1 ;put in vector0490 ;0500 LDA #4 ;copy 4 pages0510 } STA PAGES0520 ;0530 LDY #00540 LOOP0550 LDA (OLDBAS),Y ;Get ROM byte0560 STA (NEWBAS),Y ;Store in RAM057}0 INY 0580 BNE LOOP ;Page at a time0590 ;0600 INC OLDBAS+1 ;INC hi (next page)0610 INC NEWBAS+1 ;New b}ase vector too0620 DEC PAGES ;4 pages copied?0630 BNE LOOP ;Loop if not0640 ;0650 RTS ;Else retu}rn to BASIC;BASIC USR routine to copy0120 ; ROM character set to0130 ; "base_address" in RAM.0140 ; Code is relocatable,  0100 ;USR routine to steal VBI vector0110 ; for setting up RICVB routine.0120 ;0130 ;Equates0140 ;0150 SETVBV = $E45C01}60 MYVBR = $06010170 ;0180 *= $8000 ;relocatable0190 ;0200 VBSET0210 PLA 0220 LDX #MYVBR/2560230 LD}Y #MYVBR&$FF0240 LDA #70250 JSR SETVBV ;set the VBLANK!0260 RTS 0130 ;Equates0140 ;0150 SETVBV = $E45C01Q0100 ;Vertical Blank Routine0110 ; to control Player/Missile0120 ; horizontal positions by0130 ; reading paddle ports.014}0 ;0150 ;Initiate by first calling0160 ; VBSET routine to steal vector.0170 ;0180 ;Turn off and on by poking location019}0 ; 1536 with 0 or 1 respectively.0200 ;0210 ;Equates0220 ;0230 HPOSP2 = $D0020240 PADDL0 = $02700250 XITVBL = $E46202}60 ;0270 *= $06000280 ;0290 ONOFF .BYTE 00300 ;0310 START0320 CLD ;ensure binary arith.0330 LDA O}NOFF ;routine on?0340 BEQ GOVBI ;skip if not0350 ;0360 LDX #2-1 ;Read paddles 0 and 10370 ;0380 LOOP0390} LDA #232 ;Subtract from 2320400 SEC ; so clockwise turn is0410 SBC PADDL0,X ;a "right" turn0420 } CMP #52 ;Left limit reached?0430 BCS SKIP1 ;Branch if not0440 LDA #52 ;Use left limit0450 BNE SETH}POS0460 ;0470 SKIP10480 CMP #196 ;Right limit reached?0490 BCC SETHPOS ;Branch if not0500 LDA #195 ;Us}e right limit0510 ;0520 SETHPOS0530 STA HPOSP2,X ;Set horiz. pos. of plyr.0540 DEX 0550 BPL LOOP ;Do for }each player0560 ;0570 GOVBI0580 JMP XITVBL ;Let OS do its VBI choresal positions by0130 ; reading paddle ports.014MB'DOS SYSB7+TWOGUN BASB9bCASCADE BASBCASCADE1ASMB CASCADE2ASMBCASCADE3ASMB CASCADE4ASM